/**
 * @file VersionnageALaGNUTest.cpp
 * @author Pierre Le Bodic
 * @date Mardi 27 décembre 2011
 */

#include "VersionnageALaGNU.h"

#include "SystemeDeVersionnageTest.h"
namespace gestionnaireDeVersions {
   
static InstanceDeTestDUnSystemeDeVersionnage *instanceALaGNU = 
   (new InstanceDeTestDUnSystemeDeVersionnage( &VersionnageALaGNU::getInstance()))
   ->ajouteChaineValide("1.0.0")
   ->ajouteChaineValide("1.1.0")
   ->ajouteChaineValide("5.4.2")
   ->ajouteChaineValide("1.10.0")
   ->ajouteChaineValide("5.4.23544")
   
   ->ajouteChaineNonValide("")
   ->ajouteChaineNonValide("sryjfu")
   ->ajouteChaineNonValide("1.0")
   ->ajouteChaineNonValide(".1.1")
   ->ajouteChaineNonValide(".1.10.")
   ->ajouteChaineNonValide("4.1.2.1")
   ->ajouteChaineNonValide("4.1.2.") 
   ->ajouteChaineNonValide("-1.0.0") 
   ->ajouteChaineNonValide("1.0.-0")
   ->ajouteChaineNonValide("01.0.0")
   ->ajouteChaineNonValide("1.01.0")
   ->ajouteChaineNonValide("1.1.01")
   ->ajouteChaineNonValide("1.02.01")

   
   ->ajouteChaineCroissante("0.0.0")
   ->ajouteChaineCroissante("0.0.1")
   ->ajouteChaineCroissante("0.0.10")
   ->ajouteChaineCroissante("0.1.0")
   ->ajouteChaineCroissante("0.1.1")
   ->ajouteChaineCroissante("1.0.0")
   ->ajouteChaineCroissante("1.0.55")
   ->ajouteChaineCroissante("1.2.0")
   
   ;

INSTANTIATE_TEST_CASE_P(VersionnageALaGNUTest,SystemeDeVersionnageTest,::testing::Values((const InstanceDeTestDUnSystemeDeVersionnage*)instanceALaGNU));

}//namespace
